; Music of Zox 2099 (1987) (Loriciels) (JP Biscay)
; Ripped by Megachur the 06/02/2009

; Need System Vectors
; Manque Env Ou Ent ?

	write "ZOX2099.BIN"

music_date_rip	equ &0629
music_adr	equ &8ebe
first_theme	equ 0
last_theme	equ 0	; 0 -> 0

	read "music_header_v1_0.asm"

.l8ebe
	ld hl,l8ec4
	jp #bcaa
.l8ecb equ $ + 7
.l8ec8 equ $ + 4
.l8ec7 equ $ + 3
.l8ec4
	db #04,#0e,#0e,#8e,#00,#00,#04,#46
	db #00
.l8ecd
	ld hl,l8ed3
	jp #bcaa
.l8eda equ $ + 7
.l8ed7 equ $ + 4
.l8ed6 equ $ + 3
.l8ed3
	db #01,#0f,#0f,#de,#01,#00,#04,#10
	db #00
	ld hl,l8ee2
	jp #bcaa
.l8ee2
	db #02,#00,#03,#00,#00,#00,#0a,#14
	db #00
	ld hl,l8ef1
	jp #bcaa
.l8ef1
	db #02,#01,#04,#32,#00,#00,#0f,#64
	db #00
	ld hl,l8f00
	jp #bcaa
.l8f00
	db #02,#02,#03,#32,#00,#00,#0f,#0a
	db #00
.l8f09
	ld hl,l8f0f
	jp #bcaa
.l8f0f
	db #02,#02,#00,#90,#01,#0a,#0f,#28
	db #00
.l8f18
	ld hl,l8f1e
	jp #bcaa
.l8f1e
	db #02,#00,#03,#1e,#00,#00,#0a,#14
	db #00
.l8f27
	ld hl,l8f2d
	jp #bcaa
.l8f2d
	db #02,#02,#03,#e8,#03,#00,#0f,#0a
	db #00
	ld hl,l8f3c
	jp #bcaa
.l8f3c
	db #02,#03,#00,#14,#00,#00,#02,#05
	db #00
	ld hl,l8f4b
	jp #bcaa
.l8f4b
	db #02,#00,#05,#00,#00,#00,#0c,#1e
	db #00
	ld hl,l8f5a
	jp #bcaa
.l8f5a
	db #02,#00,#00,#08,#00,#00,#0a,#01
	db #00,#00
.l8f64
	ld a,(hl)
	ld e,a
	rra
	and #55
	ld d,a
	ld a,e
	rla
	and #aa
	or d
	ret
.l8f70
	push bc
	ld b,c
	ld de,l9a00
.l8f75
	push bc
	push de
	call l8f64
	pop de
	ld (de),a
	inc de
	pop bc
	inc hl
	djnz l8f75
	sub a
	sbc hl,bc
	push hl
	dec de
	ld b,c
.l8f87
	ld a,(de)
	ld (hl),a
	inc hl
	dec de
	djnz l8f87
	pop hl
	call #7065
	pop bc
	djnz l8f70
	ret
.l8f95
	ld hl,#c800
	ld de,#660a
	ld bc,#4015
	call #77ac
	ld bc,#4015
	ld hl,#c800
	call l8f70
	ld bc,#4015
	ld de,#660a
	ld hl,#c83b
	call #77ac
	ld hl,#f641
	ld de,#64ca
	ld bc,#070b
	call #77ac
	ld hl,#f6e1
	ld de,#650f
	ld bc,#070e
	call l90d6
	ld hl,#e71b
	ld de,#654b
	ld bc,#0e13
	call #77ac
	ld hl,#f92e
	ld de,#6744
	ld bc,#180a
	nop
	nop
	nop
	ret
	nop
	nop
.l8fe9
	nop
	nop
	nop
	nop
	nop
	call l8f95
	ld a,#2c
	nop
	nop
	nop
	ret
	ld hl,#f140
	ld de,#6744
	ld bc,#1b04
	push hl
	push bc
	ld a,#47
	ld (#77f6),a
	call #77ac
	pop bc
	pop hl
	push bc
	call l8f70
	pop bc
	ld hl,#f18c
	ld de,#6744
	call #77ac
	ld a,#2c
	ld (#77f6),a
	jp l9064
	nop
	nop
.l9024
	nop
	call #895e
	ld a,(l9024)
	ld b,a
	ld a,(#8aa0)
	cp #14
	jr nz,l903b
	bit 0,b
.l9035
	ret z
	ld hl,#7b12
	dec (hl)
	ret
.l903b
	cp #0f
	jr nz,l9044
	bit 1,b
	jp l9035
.l9044
	cp #13
	jr nz,l904d
	bit 2,b
	jp l9035
.l904d
	cp #10
	ret nz
	bit 3,b
	jp l9035
.l9055
	ld bc,#1b04
.l9058
	jp #70a4
.l905b
	ld de,#6244
	ld bc,#1d04
	jp l9058
.l9064
	ld a,(l9024)
	bit 0,a
	jr z,l9074
	ld hl,#fe2b
	ld de,#616c
	call l9055
.l9074
	ld a,(l9024)
	bit 1,a
	jr z,l9084
	ld hl,#fe31
	ld de,#61d8
	call l9055
.l9084
	ld a,(l9024)
	bit 3,a
	jr z,l9091
	ld hl,#e635
	call l905b
.l9091
	ld a,(l9024)
	bit 2,a
	ret z
	ld hl,#fe3a
	ld de,#62b8
	jp l9055
	ld a,#02
	ld bc,#0000
	call #bc32
	ld a,#04
	ld bc,#0000
	call #bc32
	ld a,#01
	ld bc,#0000
	call #bc32
	nop
	nop
	ret
.l90bb
	push hl
	ld de,#000e
	ld hl,#2a00
	ld b,a
	cp d
	jr z,l90c9
.l90c6
	add hl,de
	djnz l90c6
.l90c9
	ex de,hl
	pop hl
	ld bc,#0702
	jp #707a
.l90d1
	nop
.l90d2
	nop
.l90d3
	nop
.l90d4
	nop
	nop
.l90d6
	ld a,(l90d1)
	ld hl,#f653
	call l90bb
	ld a,(l90d2)
	ld hl,#f651
	call l90bb
	ld a,(l90d3)
	ld hl,#f64f
	call l90bb
	ld a,(l90d4)
	ld hl,#f64d
	call l90bb
	ret
.l90fb
	ld hl,l90d1
	inc (hl)
	ld a,#09
	cp (hl)
	ret nc
	ld (hl),#00
.l9105
	ld hl,l90d2
	inc (hl)
	ld a,#09
	cp (hl)
	ret nc
	ld (hl),#00
.l910f
	ld hl,l90d3
	inc (hl)
	ld a,#09
	cp (hl)
	ret nc
	ld (hl),#00
.l9119
	ld hl,l90d4
	inc (hl)
	ld a,#09
	cp (hl)
	ret nc
	jp l9148
	call l8f27
	call l90fb
	jp l90d6
	call l8f09
	call l9105
	jp l90d6
.l9136
	call l8f27
	call l910f
	jp l90d6
	call l8f18
	call l9119
	jp l90d6
.l9148
	nop
	nop
	nop
	ld a,#00
	ld (l90d1),a
	ld (l90d2),a
	ld (l90d3),a
	ld (l90d4),a
	jp l90d6
.l915c
	ld (iy+#00),#00
	ld (iy+#01),#10
	ld (iy+#05),#1d
.l9168
	ld (#9e10),iy
	jp #809f
.l916f
	ld (iy+#00),#8c
.l9173
	ld (iy+#01),#2a
	ld (iy+#05),#1b
	jr l9168
.l917d
	ld (iy+#00),#f8
	jr l9173
	ld a,(#cfe8)
	dec a
	ret z
	ld a,#01
	ld (#cfe8),a
	call l8ecd
	ld a,(#7b12)
	ld de,#0010
	ld hl,#7850
	ld b,a
.l919a
	add hl,de
	djnz l919a
	push hl
	pop iy
	call l915c
	call l916f
	ld bc,#0020
	call #8e3e
	call l915c
	call l917d
	ld bc,#0020
	call #8e3e
	call l915c
	ld hl,#7b12
	dec (hl)
	ld hl,l9024
	ld a,(#8aa0)
	cp #14
	jr nz,l91cd
	set 0,(hl)
	jr l91e2
.l91cd
	cp #0f
	jr nz,l91d5
	set 1,(hl)
	jr l91e2
.l91d5
	cp #13
	jr nz,l91dd
	set 2,(hl)
	jr l91e2
.l91dd
	cp #10
	ret nz
	set 3,(hl)
.l91e2
	call l9064
	call l9136
	ld hl,#28bf
	inc (hl)
	ret
	nop
	nop
	nop
.l91f0
	adc #92
.l91f2
	rla
.l91f3
	nop
.l91f5 equ $ + 1
.l91f4
	ld bc,#0002
.l91f7
	ld hl,(l91f2)
	ld c,l
	ld b,h
	add hl,bc
	add hl,bc
	nop
	ld bc,l92f0
	add hl,bc
	inc hl
	inc hl
	ld a,(hl)
	ret
.l9207
	ld ix,(l91f0)
	ld e,(ix+#00)
	ld d,(ix+#01)
	ld c,(ix+#02)
	ld b,(ix+#03)
	ret
.l9218
	push hl
	ld l,a
	ld h,#00
	add hl,hl
	jp l9225
	nop
	nop
	nop
	nop
	nop
.l9225
	ld (l8eda),hl
	pop hl
	dec hl
	ld a,(hl)
	ld (l8ed7),a
	dec hl
	ld a,(hl)
	ld (l8ed6),a
	jp l8ecd
	ret
.l9237
	ld hl,l92c9
	ld (l91f0),hl
.l923d
	ld ix,(l91f0)
	ld a,(ix+#04)
	ld (l91f4),a
.l9247
	ld ix,(l91f0)
	ld a,(ix+#00)
	ld (l91f2),a
	ld a,(ix+#01)
	ld (l91f3),a
.l9257
	call l91f7
	ld (l91f5),a
	call l9218
.l9260
	ld a,(l91f5)
	dec a
	ld (l91f5),a
	cp #00
	ret nz
	ld hl,(l91f2)
	inc hl
	ld (l91f2),hl
	call l9207
	ld a,h
	cp b
	jp z,l927f
	jp nc,l9287
	jp l9257
.l927f
	ld a,l
	cp c
	jp z,l9257
	jp c,l9257
.l9287
	ld a,(l91f4)
	dec a
	ld (l91f4),a
	jp nz,l9247
	ld hl,(l91f0)
	ld bc,#0005
	add hl,bc
	ld (l91f0),hl
	ld a,(hl)
	cp #ff
	jp z,l9237
	jp l923d
	ret
	nop
.l92a6
	push af
	ld c,(hl)
	push hl
	ret
	inc (hl)
	cp l
	pop hl
	inc hl
	pop af
	inc a
	cp #0e
	jr nz,l92a6
	ret
	ld hl,l99f6
	jp #bcaa
	db #00,#00,#00,#00,#ff,#03,#1a,#1f
.l92c9 equ $ + 6
	db #00,#00,#10,#00,#ff,#0a,#00,#00
	db #0f,#00,#01,#10,#00,#2f,#00,#01
	db #00,#00,#0f,#00,#01,#ff,#ff,#ff
	db #01,#00,#23,#00,#02,#ff,#00,#00
	db #00
;
; init music
.l92e4
;
	call l9237
	jp l93c7
.l92ea
	call l9260
	jp l93f0
.l92f0
	db #38,#02,#08,#de,#01,#08,#7b,#01
	db #08,#38,#02,#08,#de,#01,#08,#7b
	db #01,#08,#38,#02,#08,#de,#01,#08
	db #38,#02,#08,#de,#01,#08,#7b,#01
	db #08,#38,#02,#08,#de,#01,#08,#7b
	db #01,#08,#38,#02,#08,#de,#01,#08
	db #38,#02,#08,#de,#01,#08,#66,#01
	db #08,#38,#02,#08,#de,#01,#08,#66
	db #01,#08,#38,#02,#08,#de,#01,#08
	db #38,#02,#08,#de,#01,#08,#66,#01
	db #08,#38,#02,#08,#de,#01,#08,#66
	db #01,#08,#38,#02,#08,#de,#01,#08
	db #38,#02,#08,#aa,#01,#08,#66,#01
	db #08,#38,#02,#08,#aa,#01,#08,#66
	db #01,#08,#38,#02,#08,#aa,#01,#08
	db #38,#02,#08,#aa,#01,#08,#66,#01
	db #08,#38,#02,#08,#aa,#01,#08,#66
	db #01,#08,#38,#02,#08,#aa,#01,#08
.l9387 equ $ + 7
.l9385 equ $ + 5
.l9384 equ $ + 4
.l9383 equ $ + 3
.l9382 equ $ + 2
.l9380
	db #f4,#97,#0c,#00,#01,#01,#00,#2a
	db #82,#93,#4d,#44,#09,#09,#00
	ld bc,l9434
	add hl,bc
	inc hl
	inc hl
	ld a,(hl)
	ret
.l9397
	ld ix,(l9380)
	ld e,(ix+#00)
	ld d,(ix+#01)
	ld c,(ix+#02)
	ld b,(ix+#03)
	ret
.l93a8
	push hl
	ld l,a
	ld h,#00
	add hl,hl
	jp l93b5
	nop
	nop
	nop
	nop
	nop
.l93b5
	ld (l8ecb),hl
	pop hl
	dec hl
	ld a,(hl)
	ld (l8ec8),a
	dec hl
	ld a,(hl)
	ld (l8ec7),a
	jp l8ebe
	ret
.l93c7
	ld hl,l97db
	ld (l9380),hl
.l93cd
	ld ix,(l9380)
	ld a,(ix+#04)
	ld (l9384),a
.l93d7
	ld ix,(l9380)
	ld a,(ix+#00)
	ld (l9382),a
	ld a,(ix+#01)
	ld (l9383),a
.l93e7
	call l9387
	ld (l9385),a
	call l93a8
.l93f0
	ld a,(l9385)
	dec a
	ld (l9385),a
	cp #00
	ret nz
	ld hl,(l9382)
	inc hl
	ld (l9382),hl
	call l9397
	ld a,h
	cp b
	jp z,l940f
	jp nc,l9417
	jp l93e7
.l940f
	ld a,l
	cp c
	jp z,l93e7
	jp c,l93e7
.l9417
	ld a,(l9384)
	dec a
	ld (l9384),a
	jp nz,l93d7
	ld hl,(l9380)
	ld bc,#0005
	add hl,bc
	ld (l9380),hl
	ld a,(hl)
	cp #ff
	jp z,l93c7
	jp l93cd
.l9434
	db #00,#00,#72,#8e,#00,#0c,#7f,#00
	db #0c,#77,#00,#23,#8e,#00,#0c,#7f
	db #00,#0c,#77,#00,#0e,#8e,#00,#08
	db #7f,#00,#07,#77,#00,#09,#b3,#00
	db #0c,#9f,#00,#0c,#8e,#00,#23,#b3
	db #00,#0c,#9f,#00,#0c,#8e,#00,#0e
	db #b3,#00,#08,#9f,#00,#07,#8e,#00
	db #09,#d5,#00,#0c,#be,#00,#0c,#b3
	db #00,#23,#d5,#00,#0c,#be,#00,#0c
	db #b3,#00,#0e,#d5,#00,#08,#be,#00
	db #07,#b3,#00,#09,#8e,#00,#08,#8e
	db #00,#08,#9f,#00,#08,#be,#00,#24
	db #8e,#00,#08,#8e,#00,#08,#9f,#00
	db #08,#be,#00,#24,#77,#00,#0c,#6a
	db #00,#0c,#5f,#00,#23,#77,#00,#0c
	db #6a,#00,#0c,#5f,#00,#0e,#77,#00
	db #08,#6a,#00,#07,#5f,#00,#09,#59
	db #00,#08,#59,#00,#08,#5f,#00,#08
	db #59,#00,#08,#6a,#00,#08,#59,#00
	db #08,#77,#00,#08,#59,#00,#08,#7f
	db #00,#08,#59,#00,#08,#8e,#00,#08
	db #59,#00,#08,#9f,#00,#08,#59,#00
	db #08,#b3,#00,#08,#59,#00,#08,#ef
	db #00,#08,#be,#00,#08,#8e,#00,#08
	db #ef,#00,#08,#be,#00,#08,#8e,#00
	db #08,#ef,#00,#08,#be,#00,#08,#ef
	db #00,#08,#b3,#00,#08,#8e,#00,#08
	db #ef,#00,#08,#b3,#00,#08,#8e,#00
	db #08,#ef,#00,#08,#b3,#00,#08,#d5
	db #00,#08,#b3,#00,#08,#8e,#00,#08
	db #d5,#00,#08,#b3,#00,#08,#8e,#00
	db #08,#d5,#00,#08,#b3,#00,#08,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
.l9550 equ $ + 4
	db #00,#00,#00,#00,#00,#00,#f1,#00
	db #00,#81,#7c,#95,#00,#00,#00,#00
	db #00,#00
.l955e
	ld hl,l9550
	ld b,#81
	ld c,#00
	ld de,l957c
	jp #bce0
	nop
	nop
	nop
.l956e
	ld hl,l9550
	jp #bce3
.l9574
	ld hl,l9550
	jp #bce6
	nop
.l957b
	ex af,af'
;
.play_music
.l957c
;
	ld a,(l957b)
	cp #00
	jr z,l9588
	dec a
	ld (l957b),a
	ret
.l9588
	ld a,#08
	ld (l957b),a
	push ix
	call l92ea
	nop
	nop
	nop
	nop
	nop
	nop
	pop ix
	ret
.l959b
	db #f7,#e2,#27,#4c,#00
.l95a0
	ld iy,l9a00
	ld ix,l974b
.l95a9 equ $ + 1
	ld a,#20
	ld (#ffe0),a
	ld b,a
.l95ae
	ld hl,l959b
	ld a,(hl)
	ld (iy+#00),a
	inc hl
	ld a,(hl)
	ld (iy+#01),a
	inc hl
	ld a,(hl)
	ld (iy+#02),a
	inc hl
	ld a,(hl)
	ld (iy+#03),a
	ld a,(ix+#00)
	ld (iy+#04),a
	ld a,(ix+#01)
	ld (iy+#05),a
	ld a,(#e7d0)
	inc a
	ld (#e7d0),a
	ld (iy+#06),a
	ld de,#0007
	add iy,de
	inc ix
	inc ix
	djnz l95ae
	ret
	nop
	nop
.l95e8
	ld hl,l95a9
	ld a,(#ffe0)
	cp (hl)
	jr nz,l95fc
	ld hl,l99f9
	ld (#ffe1),hl
	ld a,#00
	ld (#ffe0),a
.l95fc
	inc a
	ld (#ffe0),a
	ld hl,(#ffe1)
	ld de,#0007
	add hl,de
	ld (#ffe1),hl
	call l9621
	ret
.l960e
	ld hl,#e2f7
	ld de,#4c27
	ld (ix+#00),l
	ld (ix+#01),h
	ld (ix+#02),e
	ld (ix+#03),d
	ret
.l9621
	push hl
	pop ix
	ld l,(ix+#00)
	ld h,(ix+#01)
	push hl
	ld b,(ix+#04)
	bit 0,(ix+#06)
	jr z,l963c
.l9634
	dec hl
	dec (ix+#02)
	djnz l9634
	jr l9642
.l963c
	inc hl
	inc (ix+#02)
	djnz l963c
.l9642
	ld b,(ix+#05)
	bit 1,(ix+#06)
	jr z,l965c
.l964b
	push bc
	call #71ab
	ld a,(ix+#03)
	sub #02
	ld (ix+#03),a
	pop bc
	djnz l964b
	jr l966b
.l965c
	push bc
	call #7136
	ld a,(ix+#03)
	add #02
	ld (ix+#03),a
	pop bc
	djnz l965c
.l966b
	pop de
	ld a,(de)
	cp #80
	jr nz,l9674
	ld a,#00
	ld (de),a
.l9674
	ld a,(ix+#02)
	cp #50
	jp nc,l960e
	ld a,(ix+#03)
	cp #05
	jp c,l960e
	cp #93
	jp nc,l960e
	ld (ix+#00),l
	ld (ix+#01),h
	ld a,(hl)
	cp #00
	jr nz,l9696
	ld (hl),#80
.l9696
	ret
	db #00,#00,#00,#00,#00,#00,#00,#00
.l96a0 equ $ + 1
	db #00,#00,#00,#f1,#00,#00,#81,#cc
	db #96,#00,#00,#00,#00,#00,#00
.l96ae
	ld hl,l96a0
	ld b,#81
	ld c,#00
	ld de,l96cc
	jp #bce0
	nop
	nop
	nop
	ld hl,l96a0
	jp #bce3
.l96c4
	ld hl,l96a0
	jp #bce6
	nop
.l96cb
	ld (bc),a
.l96cc
	jp l96e0
	cp #00
	jr z,l96d8
	dec a
	ld (l96cb),a
	ret
.l96d8
	ld a,#01
	ld (l96cb),a
	nop
	nop
	nop
.l96e0
	push ix
	call l95e8
	call l95e8
	pop ix
	ret
.l96eb
	ld a,#00
	ld (#ffe0),a
	ld hl,l99f9
	ld (#ffe1),hl
	call l95a0
	jp l96ae
	ld bc,#c850
	ld hl,#c000
	ld a,#00
	call #708e
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	call l8fe9
	ret
	nop
	nop
	ld bc,#c850
	ld hl,#c000
	ld a,#00
	call #708e
	ld a,#00
	ld (l9024),a
	ld (#28bf),a
	jp #2898
	ld de,#0e60
	ld hl,#9e60
	push hl
	ldir
	pop hl
	ld b,#ff
.l9737
	ld (hl),#00
	inc hl
	djnz l9737
	ld b,#60
.l973e
	ld (hl),#00
	inc hl
	djnz l973e
	call #2898
	jp l98c3
.l974b equ $ + 2
	db #00,#00,#01,#01,#01,#01,#01,#01
	db #01,#01,#05,#05,#02,#02,#03,#03
	db #04,#04,#02,#02,#02,#02,#02,#02
	db #02,#02,#02,#03,#04,#03,#02,#01
	db #02,#01,#03,#01,#04,#01,#05,#01
	db #06,#01,#02,#03,#04,#02,#05,#03
	db #06,#04,#01,#03,#02,#01,#02,#03
	db #04,#03,#05,#01,#02,#03,#04,#03
	db #04,#02,#01,#03,#01,#04,#01,#03
	db #02,#03,#01,#03,#04,#03,#05,#04
	db #02,#04,#01,#04,#02,#01,#02,#00
	db #00,#09,#3f,#f8,#f2,#28,#4e,#00
	db #29,#02,#05,#0a,#29,#03,#0a,#28
	db #29,#07,#18,#09,#3f,#f8,#f2,#28
	db #4e,#00,#29,#02,#05,#0a,#29,#03
	db #0a,#28,#29,#07,#18,#00,#00,#00
	db #00,#00,#01,#28,#4e,#5c,#2c,#02
	db #04,#56,#2c,#02,#03,#50,#2c,#02
.l97db equ $ + 2
	db #03,#00,#3d,#00,#44,#00,#02,#45
	db #00,#4c,#00,#02,#4d,#00,#54,#00
	db #02,#3d,#00,#44,#00,#02,#01,#00
	db #23,#00,#01,#01,#00,#3c,#00,#01
	db #13,#00,#23,#00,#01,#ff,#00,#59
	db #89,#6a,#89,#72,#89,#7a,#89,#ae
	db #89,#40,#8a,#98,#8a,#76,#8b,#9e
	db #8b,#d5,#8b,#08,#8c,#44,#8c,#89
	db #8c,#b2,#8c,#35,#55,#3f,#5a,#57
	db #5a,#98,#5c,#a0,#5c,#d6,#5c,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#01,#28,#4e,#5c,#2c,#02
	db #04,#56,#2c,#02,#03,#50,#2c,#02
	db #03,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#01
	db #01,#11,#05,#01,#02,#11,#06,#11
	db #01,#02,#05,#11,#02,#02,#06,#02
	db #01,#08,#05,#02,#03,#06,#08,#08
	db #01,#05,#05,#08,#02,#0a,#05,#05
	db #03,#07,#07,#05,#04,#0f,#08,#07
	db #03,#09,#08,#07,#01,#12,#06,#14
	db #03,#12,#07,#13,#03,#0b,#07,#09
	db #04,#03,#07,#03,#04,#13,#07,#0b
	db #02,#0c,#06,#0b,#03,#10,#07,#0d
	db #01,#03,#05,#0d,#02,#0c,#05,#0a
	db #01,#0b,#05,#0a,#03,#0f,#07,#0f
	db #04,#0e,#07,#10,#03,#0e,#08,#0c
	db #03,#09,#07,#06,#03,#04,#08,#04
	db #01,#03,#08,#01,#04,#0a,#07,#00
	db #00,#00
.l98c3
	ld bc,#0160
	ld de,#9e60
	ld hl,#0e60
	ldir
	nop
	nop
	ret
.l98d1
	ld b,#0f
.l98d3
	push bc
	ld a,b
	ld bc,#0000
	call #bc32
	pop bc
	djnz l98d3
	ld a,#00
	ld bc,#0000
	call #bc32
	ret
	nop
	nop
	ld a,#00
	ld hl,#c000
	ld bc,#c850
	call #708e
	ret
	nop
	nop
.l98f7
	push hl
	ld (#681a),a
	di
	ld bc,#f40e
	call #6804
	pop hl
	ld a,(#67ff)
	ret
.l9907
	ld hl,#28b9
	ld (hl),#ff
	ld a,#47
	call l98f7
	bit 5,a
	jr nz,l9917
	res 2,(hl)
.l9917
	ld a,#47
	call l98f7
	bit 6,a
	jr nz,l9922
	res 3,(hl)
.l9922
	ld a,#45
	call l98f7
	bit 7,a
	jr nz,l992d
	res 4,(hl)
.l992d
	ld a,#44
	call l98f7
	bit 4,a
	jr nz,l9938
	res 1,(hl)
.l9938
	ld a,#43
	call l98f7
	bit 3,a
	jr nz,l9943
	res 0,(hl)
.l9943
	ld a,#49
	call l98f7
	bit 7,a
	jr nz,l994e
	res 7,(hl)
.l994e
	ld a,(hl)
	ld (#67ff),a
	ret
	nop
	nop
.l9955
	ld a,#c3
	ld (#6800),a
	ld hl,l9907
	ld (#6801),hl
	jp l99e9
.l9963
	ld a,#f3
	ld (#6800),a
	ld hl,#0e01
	ld (#6801),hl
	ld a,#49
	ld (#681a),a
	jp l99e9
	ld a,(#bd35)
	cp #26
	jr nz,l9982
	ld hl,#b188
	jr l9985
.l9982
	ld hl,#b8b5
.l9985
	ld (#a126),hl
	ld (#a12a),hl
	ld (#0cc1),hl
	ret
	nop
	nop
	call l96c4
	nop
	nop
	nop
	call l98d1
	nop
	nop
	nop
	nop
	nop
	nop
	call l956e
	call #9e60
	ld hl,#c299
	ld bc,#2c1e
	ld de,#1c00
	call #77ac
	call l96eb
	call l90d6
	jp #6fe0
	ld hl,#0030
.l99be
	ld (#28ba),hl
	ld a,#2f
	call #bb1e
	jp nz,l9955
	ld a,#4c
	call #bb1e
	jp nz,l9963
	ld bc,#0010
	call #18b1
	ld hl,(#28ba)
	dec hl
	ld a,l
	cp #00
	jp nz,l99be
	ld a,h
	cp #00
	jp nz,l99be
	ret
	nop
.l99e9
	pop af
	call l9148
	call l9574
	call l96c4
	jp #a6b6
.l99f9 equ $ + 3
.l99f6
	db #01,#00,#00,#ee,#00,#01,#06,#08
.l9a00 equ $ + 2
	db #00,#00,#f7,#e2,#27,#4c,#01,#01
.l9a0d equ $ + 7
	db #01,#f7,#e2,#27,#4c,#01,#01,#02
	db #f7,#e2,#27,#4c,#01,#01,#03,#f7
.l9a1b equ $ + 5
.l9a17 equ $ + 1
	db #e2,#27,#4c,#01,#01,#04,#f7,#e2
.l9a22 equ $ + 4
	db #27,#4c,#05,#05,#05,#f7,#e2,#27
.l9a2a equ $ + 4
.l9a26
	db #4c,#02,#02,#06,#f7,#e2,#27,#4c
.l9a35 equ $ + 7
.l9a2e
	db #03,#03,#07,#f7,#e2,#27,#4c,#04
	db #04,#08,#f7,#e2,#27,#4c,#02,#02
.l9a40 equ $ + 2
	db #09,#f7,#e2,#27,#4c,#02,#02,#0a
.l9a4a equ $ + 4
	db #f7,#e2,#27,#4c,#02,#02,#0b,#f7
	db #e2,#27,#4c,#02,#02,#0c,#f7,#e2
	db #27,#4c,#02,#03,#0d,#f7,#e2,#27
	db #4c,#04,#03,#0e,#f7,#e2,#27,#4c
	db #02,#01,#0f,#f7,#e2,#27,#4c,#02
	db #01,#10,#f7,#e2,#27,#4c,#03,#01
	db #11,#f7,#e2,#27,#4c,#04,#01,#12
	db #f7,#e2,#27,#4c,#05,#01,#13,#f7
	db #e2,#27,#4c,#06,#01,#14,#f7,#e2
	db #27,#4c,#02,#03,#15,#f7,#e2,#27
	db #4c,#04,#02,#16,#f7,#e2,#27,#4c
	db #05,#03,#17,#f7,#e2,#27,#4c,#06
	db #04,#18,#f7,#e2,#27,#4c,#01,#03
	db #19,#f7,#e2,#27,#4c,#02,#01,#1a
	db #f7,#e2,#27,#4c,#02,#03,#1b,#f7
	db #e2,#27,#4c,#04,#03,#1c,#f7,#e2
	db #27,#4c,#05,#01,#1d,#f7,#e2,#27
	db #4c,#02,#03,#1e,#f7,#e2,#27,#4c
	db #04,#03,#1f,#f7,#e2,#27,#4c,#04
	db #02,#20,#00,#00
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
.l9b00
	ld a,#01
	ld hl,l9a00
	call #bcbf
	ld a,#02
	ld hl,l9a0d
	call #bcbf
	ld a,#03
	ld hl,l9a17
	call #bcbf
	ld a,#04
	ld hl,l9a1b
	call #bcbf
	ld a,#05
	ld hl,l9a22
	call #bcbf
	ld a,#06
	ld hl,l9a26
	call #bcbf
	ld a,#01
	ld hl,l9a2a
	call #bcbc
	ld a,#02
	ld hl,l9a2e
	call #bcbc
	ld a,#03
	ld hl,l9a35
	call #bcbc
	ld a,#0f
	ld hl,l9a40
	call #bcbc
	ld a,#0e
	ld hl,l9a4a
	call #bcbc
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
	nop
;call #9b8a
;jp #9d34
	ret
;org #180d
;call #9c34
;ld a,#00
;call #bc0e
;call #9976
;call #9b00	; init env
;call #98d1	; colors
;call #96eb
;call #92e4	; init music
;call #955e	; init music interrupt
;nop
;nop
;;nop
;call #1967
;call #99bb
;call #1893
;call #99bb
;ld hl,#4f70
;ld (#7870),hl
;call #1916
;call #99bb
;call #1924
;call #99bb
;call #1932
;call #99bb
;
.init_music	; added by Megachur
;
	call l9b00	; init env
	call l92e4	; init music
	call l955e	; init music interrupt
	ret
;
.game_name
	db "Zox 2099",0
.game_year
	db "1987",0
.game_publisher
	db "Loriciels",0
.music_author
	db "JP Biscay",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
